IB versus MSSQL

Otázka od: Hlas

23. 9. 2002 23:07

je mssql lepsi ako IB? je mssql ozaj free?
ako sa da pristupovat k mssql? iba cez dbx?
su aj nativne komponenty?
bojim sa, ze ked postavim aplikaciu nad IB6/firebird, komponenty IBX
nebudu sledovat vyvoj firebirdu a vyssie verzie IB budu zasa platene.
Aka je najlepsia volba na free databazu? mssql, IB, postgre, mysql?

Odpovedá: Pavel Cisar

24. 9. 2002 7:51

Haj hou!

On 23 Sep 2002 at 22:38, Hlas wrote:

> je mssql lepsi ako IB?

Prijde na to jak v cem a jak pro koho. Tuto otazku by si mel kazdy
zodpovedet sam dle svych vlastnich aplikacnich potreb.

> je mssql ozaj free?

Ocesana verze ano.

> ako sa da pristupovat k mssql? iba cez dbx?
> su aj nativne komponenty?
> bojim sa, ze ked postavim aplikaciu nad IB6/firebird, komponenty IBX
> nebudu sledovat vyvoj firebirdu a vyssie verzie IB budu zasa platene.
> Aka je najlepsia volba na free databazu? mssql, IB, postgre, mysql?

InterBase je uz zase komercni, a asi tak uz zustane. Firebird je free a
zustane free uz ze sve podstaty. Je open source a vyvojari na rozdil od
Boérlandu nemaji pravo licenci zmenit. On ostatne ani Borland   Borland
to vyresil tak, ze ukoncil vyvoj free verze a venuje se jen komercni
verzi.

S pozdravem


Pavel Cisar
Mobil: 0724 281429
http://www.ibphoenix.cz
Vse co potrebujete pro Firebird a InterBase

Odpovedá: Slavek Rydval

24. 9. 2002 9:40


On 23 Sep 2002 at 22:38, Hlas wrote:
> je mssql lepsi ako IB?
****Ano v mnoha vecech. A samozrejme se najde neco malo veci, kdy je
lepsi IB.

> je mssql ozaj free?
*****Ne. Posledni dobou se diskutuje, zda je free MSDE, coz je MS SQL
pro desktopy pro max pet uzivatelu (resp. kazdy dalsi uzivatel
zpusobi vyrazne snizeni vykonu).

> ako sa da pristupovat k mssql? iba cez dbx?
*****Tfuj, jen to ne. ADO, OLE DB, ODBC, ... (ale v nouzi i
DBExpress)

> su aj nativne komponenty?
*****Ano. napr. ADO.

> bojim sa, ze ked postavim aplikaciu nad IB6/firebird, komponenty IBX
> nebudu sledovat vyvoj firebirdu a vyssie verzie IB budu zasa platene.
> Aka je najlepsia volba na free databazu? mssql, IB, postgre, mysql?
******To zalezi na tom, co od databaze ocekavas, universalni odpoved
neexistuje.

Slavek

--------------------------------------------------------
http://atrey.karlin.mff.cuni.cz/~rk
Pozor, nyni pouze http://195.113.18.111/~rk/index.shtml
--------------------------------------------------------
Udelejte to blbuvzdorne a zitra nekdo vymysli jeste vetsiho blba.

Odpovedá: Daniel Frantik

24. 9. 2002 10:20

> > je mssql lepsi ako IB?
>
> Prijde na to jak v cem a jak pro koho. Tuto otazku by si mel kazdy
> zodpovedet sam dle svych vlastnich aplikacnich potreb.
>
> > je mssql ozaj free?
> Ocesana verze ano.
A neni to free jen pokud mas koupenou nejakou licenci na MSSQL? Jedna-li se
o MSSql personal (http://www.microsoft.com/cze/servers/sql/howtobuy/) (popr.
neco jako jen pro vyvojare ...)

> > ako sa da pristupovat k mssql? iba cez dbx?
> > su aj nativne komponenty?
co treba SqlDirect?

> > bojim sa, ze ked postavim aplikaciu nad IB6/firebird, komponenty IBX
> > nebudu sledovat vyvoj firebirdu a vyssie verzie IB budu
> zasa platene.
Ktere komponenty doporucujes pro FB? U IBX asi opravdu hrozi budouci
nekompatibilita s FB.

Danik

Odpovedá: Jan Sebelík

24. 9. 2002 11:49

> Odesílatel: Daniel Frantik <frantik@telpro.cz>
> Ktere komponenty doporucujes pro FB? U IBX asi opravdu hrozi budouci
> nekompatibilita s FB.

Nevim, zda jsou moje informace aktualni.
Pavel Cisar mi 7.3.2002 napsal

> > V adresari Drivers jsou nasledujici veci:
> >
> > fib/freeibcomponents.exe
> Stare dobre FreeIBComponents, pokud nebudete pouzivat D5, D6
>
> > fibplus/fibplus4_5_full.zip
> Jako IBX (maji stejneho predka - FreeIB). IBX sice pracuje s FB,
> ale bez zaruky a Jeff Overcash - spravce IBX - nehne ani prstem
> aby IBX fungoval s FB i v budoucnu. FIBPlus a IBO podporuji IB i
> FB tady a ted i v budoucnu.
>
> > IBObjects
> Tohle rozhodne stoji za pozornost. Nejlepsi sada komponent pro
> Delphi a IB/FB.

Ja si z toho delam zaver: FIBPlus nebo IBObjects.

IBObjects free nejsou.
Jak je to s FIBPlus, to presne nevim. Nekde jsem slysel, ze to free neni.

Jak je to, Pavle?

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================


Odpovedá: Slavek Rydval

24. 9. 2002 17:54


Ahoj,

> > je mssql ozaj free?
> Ocesana verze ano.
****Nemas pravdu. I kdybys chtel pouze MSDE (pokud ocesanou verzi
myslis prave to), musis mit licenci na nejaky MS produkt, ke kteremu
mas pravo jej pouzit: velky MS SQL Server, MS Office Developer, MSDN
Subscription, VS.NET ci Web Matrix.

Posledni dobou se vyrojily famy o tom, ze diky moznosti stazeni MSDE
k Web Matrixu zdarma znamena jeho libovolne volne sireni. Neni to
pravda! I v pripade MSDE je mozne MSDE sirit zdarma pouze s projekty
vytvorenymi ve Web matrixu. To, ze nekdo doda minimalni projekt
vytvoreny ve Web matrixu a pak na MSDE nahraje a obsluhuje vlastni
databazi napr. z Delphi, je porusovani licencniho ujednani.

Slavek

> Pavel Cisar

--------------------------------------------------------
http://atrey.karlin.mff.cuni.cz/~rk
Pozor, nyni pouze http://195.113.18.111/~rk/index.shtml
--------------------------------------------------------
Udelejte to blbuvzdorne a zitra nekdo vymysli jeste vetsiho blba.

Odpovedá: Slavek Rydval

24. 9. 2002 15:52


On 24 Sep 2002 at 10:32, Daniel Frantik wrote:
> A neni to free jen pokud mas koupenou nejakou licenci na MSSQL?
> Jedna-li se o MSSql personal
> (http://www.microsoft.com/cze/servers/sql/howtobuy/) (popr. neco jako
> jen pro vyvojare ...)
****MS SQL Server Personal Edition neni samostatnym produktem, alebrz
predstavuje komponentu Microsoft SQL Serveru. Sezenes ji napr. na
specialnim CD v MS SQL Serveru 2000 Standard Edition. Dalsi info
napr. na uvedenem webu.

Slavek

> Danik

--------------------------------------------------------
http://atrey.karlin.mff.cuni.cz/~rk
Pozor, nyni pouze http://195.113.18.111/~rk/index.shtml
--------------------------------------------------------
Udelejte to blbuvzdorne a zitra nekdo vymysli jeste vetsiho blba.

Odpovedá: bardon

24. 9. 2002 16:23

Nejsem odbornik na licence MS. Ale nekde jsem slysel cca toto: MSDE neni
free a nikdy nebyl, ale muzes jej bezplatne sirit, pokud mas zakoupeno
vyvojove prostredi MS (nevim ktere, ale slysel jsem, ze existuje nekolik
variant). Nejsem si jist, ale myslim si, ze pritom neni dulezite, zda
aplikace, se kterou to siris byla vyvinuta v tomto prostredi nebo ne.

Jinak MS SQL povazuji za dobry stroj. Jestli jsou jine jeste lepsi, to
nevim, mozne to je.

Ohledne budoucnosti - osobne tipuji, ze budoucnost bude vzdy zalezet na
poptavce. Bude-li poptavka po konektivite na Firebird, pak lze ocekavat ze v
Delphi tato konektivita bude. Jsem si jist, ze v pristich nekolika letech si
Borland nedovoli nemit konektivitu na MS, nebo na Oracle. Proto tyto dve
databaze povazuji za nejbezpecnejsi investici. Dokonce za bezpecnejsi, nez
je IB, protoze nebudue-li Borland prodavat IB, nebude ji ani podporovat a to
se teoreticky stat muze (ikdyz to nepovazuji za prilis pravdepodobne). MS
svuj SQL prodavat bude, jde mu dobre na odbyt a neni duvod, proc by mel jit
v budoucnu hure.

-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz]On
Behalf Of Daniel Frantik
Sent: Tuesday, September 24, 2002 11:32 AM

> > je mssql lepsi ako IB?
>
> Prijde na to jak v cem a jak pro koho. Tuto otazku by si mel kazdy
> zodpovedet sam dle svych vlastnich aplikacnich potreb.
>
> > je mssql ozaj free?
> Ocesana verze ano.
A neni to free jen pokud mas koupenou nejakou licenci na MSSQL? Jedna-li se
o MSSql personal (http://www.microsoft.com/cze/servers/sql/howtobuy/) (popr.
neco jako jen pro vyvojare ...)


Odpovedá: Blazek Jaroslav

24. 9. 2002 18:08

Ahoj,

> hlas@inmail.sk 23.9.02 22:38 >>>
>je mssql lepsi ako IB?

zcela urcite...  

>je mssql ozaj free?

neni......
na instalacnim CDcku MS Office je MSDE XP (MSSQL 2000), 2000 (MSSQL 7),
coz je orezana verze MSSQL
maximalne 5 uzivatelu, max 2GB databaze
rekl bych, ze jakmile mas oficialne zakoupeny MS Office muzes pouzivat MSDE

>ako sa da pristupovat k mssql? iba cez dbx?

pomoci ADO, OLE DB, ODBC

>su aj nativne komponenty?

ADO


S pozdravem

Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek@access-it.cz
http://www.access-it.cz
ICQ# : 133673990
+420605/813644

Odpovedá: Pavel Cisar

25. 9. 2002 7:08

Haj hou!

On 24 Sep 2002 at 10:32, Daniel Frantik wrote:

> Ktere komponenty doporucujes pro FB? U IBX asi opravdu hrozi budouci
> nekompatibilita s FB.

FIBPlus nebo IBObjects. Pripadne dbExpress, protoze (komercni, ale pry
velmi levny) driver pro IB/FB a nikoliv od Borlandu je v betatestovani.

S pozdravem
Pavel Cisar
Mobil: 0724 281429
http://www.ibphoenix.cz
Vse co potrebujete pro Firebird a InterBase

Odpovedá: Pavel Cisar

24. 9. 2002 20:46

Haj hou!

On 24 Sep 2002 at 8:17, Slavek Rydval wrote:

>
> On 23 Sep 2002 at 22:38, Hlas wrote:
> > je mssql lepsi ako IB?
> ****Ano v mnoha vecech. A samozrejme se najde neco malo veci, kdy je
> lepsi IB.

Zalezi jak je ktera "vec" pro cloveka vyznamna. Nekdy i to "malo" muze
hrat velkou roli (obvzlast kdyz clovek "mnoho veci" vubec nepotrebuje).
Mezi to "neco malo veci" patri mimo jine:

- mnozstvi podporovanych platforem proti jedine u MS
- maly kod (2MB, instalace 9-12MB)
- minimalni naroky na system
- prakticky nulova administrace
- nulova cena

V konecnem dusledku je tedy vzdy nutne ptat se "lepsi pro co". Odpoved
se bude casto lisit ve prospech toho nebo onoho.

s pozdravem
Pavel Cisar
Mobil: 0724 281429
http://www.ibphoenix.cz
Vse co potrebujete pro Firebird a InterBase

Odpovedá: Otisk Rene

25. 9. 2002 7:01

I-bejska ma mensi systemove naroky nez MS SQL...

Sroub

Ahoj,

> hlas@inmail.sk 23.9.02 22:38 >>>
>je mssql lepsi ako IB?

zcela urcite...  

>je mssql ozaj free?

neni......
na instalacnim CDcku MS Office je MSDE XP (MSSQL 2000), 2000 (MSSQL 7),
coz je orezana verze MSSQL
maximalne 5 uzivatelu, max 2GB databaze
rekl bych, ze jakmile mas oficialne zakoupeny MS Office muzes pouzivat MSDE

>ako sa da pristupovat k mssql? iba cez dbx?

pomoci ADO, OLE DB, ODBC

>su aj nativne komponenty?

ADO

Odpovedá: Lstiburek Pavel

25. 9. 2002 10:28

Dost o tom pochybuji, MSSQL 7.0 bezi (a celkem svizne) i na W95 PIII/200.

Pavel

> Od: Otisk Rene [mailto:otisk@misel.cz]
> I-bejska ma mensi systemove naroky nez MS SQL...
>
> Sroub
>
> Ahoj,
>
> > hlas@inmail.sk 23.9.02 22:38 >>>
> >je mssql lepsi ako IB?
>
> zcela urcite...  
>
> >je mssql ozaj free?
>
> neni......
> na instalacnim CDcku MS Office je MSDE XP (MSSQL 2000), 2000
> (MSSQL 7),
> coz je orezana verze MSSQL
> maximalne 5 uzivatelu, max 2GB databaze
> rekl bych, ze jakmile mas oficialne zakoupeny MS Office muzes
> pouzivat MSDE
>
> >ako sa da pristupovat k mssql? iba cez dbx?
>
> pomoci ADO, OLE DB, ODBC
>
> >su aj nativne komponenty?
>
> ADO
>

Odpovedá: Otisk Rene

25. 9. 2002 8:42

Mam stejny projekt na MSSQL a Ibejsce, tu Ibejsku rozjedu na P75 MHz. Tam
jsem si s MSSQL ani neskrtnul (rozumne minimum mi vychazi tak na 233Mhz a 64
MB)

Sroub


> Dost o tom pochybuji, MSSQL 7.0 bezi (a celkem svizne) i na W95 PIII/200.
>
> Pavel
>
> > Od: Otisk Rene [mailto:otisk@misel.cz]
> > I-bejska ma mensi systemove naroky nez MS SQL...
> >
> > Sroub
> >
> > Ahoj,
> >
> > > hlas@inmail.sk 23.9.02 22:38 >>>
> > >je mssql lepsi ako IB?
> >
> > zcela urcite...  
> >
> > >je mssql ozaj free?
> >
> > neni......
> > na instalacnim CDcku MS Office je MSDE XP (MSSQL 2000), 2000
> > (MSSQL 7),
> > coz je orezana verze MSSQL
> > maximalne 5 uzivatelu, max 2GB databaze
> > rekl bych, ze jakmile mas oficialne zakoupeny MS Office muzes
> > pouzivat MSDE
> >
> > >ako sa da pristupovat k mssql? iba cez dbx?
> >
> > pomoci ADO, OLE DB, ODBC
> >
> > >su aj nativne komponenty?
> >
> > ADO
> >

Odpovedá: Jaroslav Nadhera

25. 9. 2002 11:12

> Nejsem odbornik na licence MS. Ale nekde jsem slysel cca toto: MSDE neni
> free a nikdy nebyl, ale muzes jej bezplatne sirit, pokud mas zakoupeno
> vyvojove prostredi MS (nevim ktere, ale slysel jsem, ze existuje nekolik
> variant). Nejsem si jist, ale myslim si, ze pritom neni dulezite, zda
> aplikace, se kterou to siris byla vyvinuta v tomto prostredi nebo ne.

Je to presne tak, pokud mas zakoupeno vyvojove prostredi, ktere obsahuje SQL
server, je u nej na CDcku i adresar MSDE, ktery je mozno pribalit k
aplikaci, ktera SQL server pouziva. Vlastni aplikace muze byt udelana treba
v Delphi, to uz je jedno.

> Jinak MS SQL povazuji za dobry stroj. Jestli jsou jine jeste lepsi, to
> nevim, mozne to je.

Jedine, co MSDE vytykam, je nekdy ponekud obtizna instalace (nekdy pomohla
az reinstalace Windows a asi na dvou pocitacich z nekolika set se MSDE
nepodarilo nainstalovat vubec - hotline MS taky nedokazal poradit) a nekdy
se to hada s jinymi programy. Takze nekdy bezny uzivatel neni schopen sam
instalaci provest.

Jaroslav Nadhera

CSH spol. s r.o.
Velflikova 10, 160 00 Praha 6
tel.: 224 3123 44-5
fax: 235 522 892
e-mail: nadhera@csh.cz WWW: http://www.csh.cz
pobocka Ostrava:
Nedbalova 14, 701 00 Ostrava
tel: 596 635 687

Odpovedá: Slavek Rydval

25. 9. 2002 10:19


Ahoj,

ja bych se tomu prilis nedivil vzhledem k moznostem, ktere MS SQL umi
a IB po nich jen pokukuje.

Slavek

On 25 Sep 2002 at 9:40, Otisk Rene wrote:
> Mam stejny projekt na MSSQL a Ibejsce, tu Ibejsku rozjedu na P75 MHz.
> Tam jsem si s MSSQL ani neskrtnul (rozumne minimum mi vychazi tak na
> 233Mhz a 64 MB)
>
> Sroub

--------------------------------------------------------
http://atrey.karlin.mff.cuni.cz/~rk
Pozor, nyni pouze http://195.113.18.111/~rk/index.shtml
--------------------------------------------------------
Udelejte to blbuvzdorne a zitra nekdo vymysli jeste vetsiho blba.

Odpovedá: Jan Sebelík

25. 9. 2002 14:21

> Odesílatel: Blazek Jaroslav <Jaroslav.Blazek@access-it.cz>
viz nize

> > honza@haes.cz 24.9.02 12:37 >>>
> Pokud se nemylim, probiha to nasledovne:
> 1. before insert
> 2. integritni kontroly
> 3. after insert
> Podotykam, ze pokud after insert dojde k navaznym akcim na jinych tabulkach,
ktere skonci chybou, tak se provede celkovy rollback celeho insertu (i kdyz uz
jsem AFTER) vcetne vseho, co jsem udelal before insert. Tedy prave s vyjimkou
generatoru.
>
> Abych se priznal, nedokazu pochopit, jak toto resil MSSQL, kdyz neznal
before/after triggery a jak to resi ted.

[Honza]
Obavam se, ze nize uvedeny priklad vyse uvedeny problem problem neresi.
Navic, priznam se, ze nize uvedeny kod je pro me absolutne necitelny.

Nas kurz "Navrh a implementace SQL databaze" se odehrava nad FB/IB. Pritom si
ale ukazeme alternativni skripty (triggery, ulozene procedury) pro Oracle a
Sybase. Zjistime, ze to je vlastne totez, pouze trochu jina syntaxe, neni treba
nic preprogramovavat, pouze prepsat trochu jinak. 40KB triggeru a ulozenych
procedur jsem prepsal z IB a odladil na Oracle za jeden den.

Bohuzel, v MSSQL je to uplne jinak. Pokud bych chtel neco preprogramovat do
MSSQL, musel bych to udelat uplne od zacatku znova. Tedy pokud bych to umel.

Jeste poznamka:
Snadne programovani, instalace a administrace je podle meho soudu jednou z
nejvetsich vyhod IB/FB. Znam lidi, kteri berou velmi slusne penize za
administraci IB v jednom velkem podniku. Jejich prace spociva v tom, ze tam
jednou za rok prijdou, ometou pavuciny ze serveru, udelaji backup/restore a
zase maji na rok klid.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================
> Odesílatel: Blazek Jaroslav <Jaroslav.Blazek@access-it.cz>
> na MSSQL to muze byt treba takto...neznam moc FB/IB, ale mozna neco pujde
pouzit i tam
>
> CREATE TABLE Tabulka
> (
> IdTabulka INT PRIMARY KEY IDENTITY,
> Cislo INT NOT NULL UNIQUE,
> Info VARCHAR(50),
> Smazano BIT DEFAULT 0
> )
>
> INSERT INTO Tabulka (Cislo, Info)
> (
> SELECT CASE WHEN AktMinimum > 1 THEN 1 ELSE PoruseneMinimum END NoveCislo,
'text' FROM
> (SELECT ISNULL(MIN(Cislo),0) AS AktMinimum FROM Tabulka ) t1,
> (SELECT ISNULL(MIN(Cislo),0) + 1 AS PoruseneMinimum FROM Tabulka t
> WHERE NOT EXISTS (SELECT * FROM Tabulka WHERE Cislo = t.Cislo + 1)) t2
> )
>
> nebo neco podobneho jde pouzit i v triggeru
>
>
> S pozdravem
>
> Bc. Jaroslav Blazek
> Access-IT Ceska Lipa
> mailto:jaroslav.blazek@access-it.cz
> http://www.access-it.cz
> ICQ# : 133673990
> +420605/813644

Odpovedá: Blazek Jaroslav

25. 9. 2002 16:12

Ahoj,

> honza@haes.cz 25.9.02 11:11 >>>
>Obavam se, ze nize uvedeny priklad vyse uvedeny problem problem neresi.

no nevim, proc jsi to pridal do tohoto prispevku s timto %Subject%, ale to
patrilo k prispevku na neprerusovanou radu

>Navic, priznam se, ze nize uvedeny kod je pro me absolutne necitelny.

no asi proto, ze IB/FB neumi CASE, mozna snad jsem zaslechl uz ve vyssich
verzich ano

tento kod jede uplne bez problemu....

> SELECT CASE WHEN AktMinimum > 1 THEN 1 ELSE PoruseneMinimum END NoveCislo,
'text' FROM

> (SELECT ISNULL(MIN(Cislo),0) AS AktMinimum FROM Tabulka ) t1,

1. subselect zjisti aktualni minimum - to je pro pripad, ze by vznikla dira
MIN(Cislo) > 1
pr1. 3,4 = 3
pr2. 1,3,4 = 1
pr3. 1,2,3 = 1

> (SELECT ISNULL(MIN(Cislo),0) + 1 AS PoruseneMinimum FROM Tabulka t
> WHERE NOT EXISTS (SELECT * FROM Tabulka WHERE Cislo = t.Cislo + 1)) t2

2. subselect zjisti minimalni cislo + 1 v porusene rade
pr1. 3,4 = 5
pr2. 1,3,4 = 2
pr3. 1,2,3 = 4

provede se skalarni soucin
vysledek
pr1. = AktMinimum( 3 ), PoruseneMinimum+1( 5 )
pr2. = AktMinimum( 1 ), PoruseneMinimum+1( 2 )
pr3. = AktMinimum( 1 ), PoruseneMinimum+1( 4 )

a v prvnim selectu se provede rozhodnuti v CASE a to je jasne
if (AktMinimum > 1)
 NoveCislo = 1
else
 NoveCislo = PoruseneMinimum

celkovy vysledek
pr.1 = 1
pr.2 = 2
pr.3 = 4


S pozdravem

Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek@access-it.cz
http://www.access-it.cz
ICQ# : 133673990
+420605/813644

Odpovedá: bardon

26. 9. 2002 12:27

Delam s MS SQL nekolik let a nikdy jsem nepotreboval BEFORE insert. Ted,
kdyz tam je, snazim se najit vyuziti, obcas me neco napadne, ale neni to az
takovy prinos, aby mi stalo za to menit sve stare zvyky.

Ten priklad jsem nepochopil. Nevim ceho ma byt dosazeno a tudiz nevim jak to
resit.

-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz]On
Behalf Of Jan Sebelík
Sent: Wednesday, September 25, 2002 11:11 AM
To: delphi-l@clexpert.cz
Subject: Re: IB versus MSSQL


> Odesílatel: Blazek Jaroslav <Jaroslav.Blazek@access-it.cz>
viz nize

> > honza@haes.cz 24.9.02 12:37 >>>
> Pokud se nemylim, probiha to nasledovne:
> 1. before insert
> 2. integritni kontroly
> 3. after insert
> Podotykam, ze pokud after insert dojde k navaznym akcim na jinych
tabulkach, ktere skonci chybou, tak se provede celkovy rollback celeho
insertu (i kdyz uz jsem AFTER) vcetne vseho, co jsem udelal before insert.
Tedy prave s vyjimkou generatoru.
>
> Abych se priznal, nedokazu pochopit, jak toto resil MSSQL, kdyz neznal
before/after triggery a jak to resi ted.

Odpovedá: bardon

26. 9. 2002 12:37

Jakmile tam bude dostatecne mnoho vet, tak to bude podle meho v podstate
neoptimalizovatelne a tudiz pomale.

Kdybych mel resit tento problem, resil bych to tak, ze bych to necisloval
hned, ale az dodatecne davkovym procesem a pote bych zakazal ta cisla menit
aby mi nevznikly diry. Jestli totiz principielne pripustis dodatecny vznik
der, pak ti ani nejlepsi algoritmus nezaruci, ze se k urcitemu konkretnimu
okamziku vsechny diry dodatecne zaplni.

Jinymi slovy, problem je v tom, ze potrebujes neprerusenou ciselnou radu.
Neprerusena ciselna rada je bud logicky nesmysl (chapu, ze sis to
nevymyslel, byl to nesmyslny pozadavek odnekud), nebo je to opravdu jakasi
transakcni historie a pak pouziju identity a zakazu mazat vety. Dodatecne
zaplnovani der je proste spatne zadani.

-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz]On
Behalf Of Blazek Jaroslav
Sent: Wednesday, September 25, 2002 3:39 PM
To: delphi-l@clexpert.cz
Subject: Re: IB versus MSSQL


Ahoj,

> honza@haes.cz 25.9.02 11:11 >>>
>Obavam se, ze nize uvedeny priklad vyse uvedeny problem problem neresi.

no nevim, proc jsi to pridal do tohoto prispevku s timto %Subject%, ale to
patrilo k prispevku na neprerusovanou radu

>Navic, priznam se, ze nize uvedeny kod je pro me absolutne necitelny.

no asi proto, ze IB/FB neumi CASE, mozna snad jsem zaslechl uz ve vyssich
verzich ano

tento kod jede uplne bez problemu....

> SELECT CASE WHEN AktMinimum > 1 THEN 1 ELSE PoruseneMinimum END NoveCislo,
'text' FROM

> (SELECT ISNULL(MIN(Cislo),0) AS AktMinimum FROM Tabulka ) t1,

1. subselect zjisti aktualni minimum - to je pro pripad, ze by vznikla dira
MIN(Cislo) > 1
pr1. 3,4 = 3
pr2. 1,3,4 = 1
pr3. 1,2,3 = 1

> (SELECT ISNULL(MIN(Cislo),0) + 1 AS PoruseneMinimum FROM Tabulka t
> WHERE NOT EXISTS (SELECT * FROM Tabulka WHERE Cislo = t.Cislo + 1)) t2

2. subselect zjisti minimalni cislo + 1 v porusene rade
pr1. 3,4 = 5
pr2. 1,3,4 = 2
pr3. 1,2,3 = 4

provede se skalarni soucin
vysledek
pr1. = AktMinimum( 3 ), PoruseneMinimum+1( 5 )
pr2. = AktMinimum( 1 ), PoruseneMinimum+1( 2 )
pr3. = AktMinimum( 1 ), PoruseneMinimum+1( 4 )

a v prvnim selectu se provede rozhodnuti v CASE a to je jasne
if (AktMinimum > 1)
 NoveCislo = 1
else
 NoveCislo = PoruseneMinimum

celkovy vysledek
pr.1 = 1
pr.2 = 2
pr.3 = 4


S pozdravem

Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek@access-it.cz
http://www.access-it.cz
ICQ# : 133673990
+420605/813644


Odpovedá: Kalus Jozef Ing.

26. 9. 2002 17:32

AFTER a BEFORE sa daju vynikajuco pouzit na zaznamenavanie historie  

-----Original Message-----
From: bardon [mailto:bardon@akord-soft.cz]
Sent: Thursday, September 26, 2002 1:26 PM
To: delphi-l@clexpert.cz
Subject: RE: IB versus MSSQL


Delam s MS SQL nekolik let a nikdy jsem nepotreboval BEFORE insert. Ted,
kdyz tam je, snazim se najit vyuziti, obcas me neco napadne, ale neni to az
takovy prinos, aby mi stalo za to menit sve stare zvyky.

Odpovedá: bardon

27. 9. 2002 9:26

Proc? Ja prece v okamziku volani klasickeho MS SQL triggeru mam k dispozici
jak stav pred zmenou, tak i stav po zmene a tudiz mohu delat historii v
pohode na jednom miste. Pripoustim ze s jednim nemalym omezenim . Od vezre 7
vyse nemam k dispozici BLOB polozky pred zmenou (jen po zmene). Do verze 6.5
k dispozici byly. Ale delat historii BLOBu je casto pakarna a kdyz to
potrebuji, vystacim si v pohode se stavem po zmene.

-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz]On
Behalf Of Kalus Jozef Ing.
Sent: Thursday, September 26, 2002 1:35 PM
To: delphi-l@clexpert.cz
Subject: RE: IB versus MSSQL


AFTER a BEFORE sa daju vynikajuco pouzit na zaznamenavanie historie  

Odpovedá: Král Jirka

27. 9. 2002 12:33

Pro uplnost pripominam, ze MS SQL 2000 umi take INSTEAD OF triggers coz
moznosti rozviji jeste dale

J.

-----Original Message-----
From: bardon [mailto:bardon@akord-soft.cz]
Sent: Friday, September 27, 2002 10:18 AM
To: delphi-l@clexpert.cz
Subject: RE: IB versus MSSQL


Proc? Ja prece v okamziku volani klasickeho MS SQL triggeru mam k dispozici jak
stav pred zmenou, tak i stav po zmene a tudiz mohu delat historii v pohode na
jednom miste. Pripoustim ze s jednim nemalym omezenim . Od vezre 7 vyse nemam k
dispozici BLOB polozky pred zmenou (jen po zmene). Do verze 6.5 k dispozici
byly. Ale delat historii BLOBu je casto pakarna a kdyz to potrebuji, vystacim
si v pohode se stavem po zmene.

Odpovedá: Blazek Jaroslav

27. 9. 2002 12:31

Ahoj,

> jozef.kalus@spordat.sk 26.9.02 13:35 >>>
>AFTER a BEFORE sa daju vynikajuco pouzit na zaznamenavanie historie  

No je videt, ze s MSSQL nedelas
Hodnoty zmenene mam k dispozici v triggeru a to v tabulkach Inserted a Deleted
a
ty jsou k pouziti prave jen v triggeru a historie jde timto zpusobem krasne
delat


S pozdravem

Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek@access-it.cz
http://www.access-it.cz
ICQ# : 133673990
+420605/813644

Odpovedá: Lstiburek Pavel

27. 9. 2002 14:55

Pouze si dovolim podotknout, ze INSTEAD OF triggers je mozno vytvaret i pro
view a to umoznuje jeste vetsi kouzla.

Pavel

> Od: Král Jirka [mailto:admin@printo.cz]
> Pro uplnost pripominam, ze MS SQL 2000 umi take INSTEAD OF
> triggers coz moznosti rozviji jeste dale
>
> J.
>
> From: bardon [mailto:bardon@akord-soft.cz]
> Proc? Ja prece v okamziku volani klasickeho MS SQL triggeru
> mam k dispozici jak stav pred zmenou, tak i stav po zmene a
> tudiz mohu delat historii v pohode na jednom miste.
> Pripoustim ze s jednim nemalym omezenim . Od vezre 7 vyse
> nemam k dispozici BLOB polozky pred zmenou (jen po zmene). Do
> verze 6.5 k dispozici byly. Ale delat historii BLOBu je casto
> pakarna a kdyz to potrebuji, vystacim si v pohode se stavem po zmene.
>
>

Odpovedá: Jan Sebelík

27. 9. 2002 17:26

> Odesílatel: Lstiburek Pavel <Lstiburek@ceb.cz>
> Pouze si dovolim podotknout, ze INSTEAD OF triggers je mozno vytvaret i pro
> view a to umoznuje jeste vetsi kouzla.
Jeste bych dodal, ze IB/FB umi take triggery pro view.
Pokud je view z vice tabulek, nelze ho standardne updatovat.
Pokud pod nej napiseme triggery, ktery rozhodi data do prislusnych tabulek, lze
takove view updatovat.

Neni to hezci, nez nejake UpdateObjecty v Delphi?

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Odpovedá: Pavel Cisar

27. 9. 2002 17:37

Haj hou!

On 27 Sep 2002 at 10:18, bardon wrote:

> Proc? Ja prece v okamziku volani klasickeho MS SQL triggeru mam k dispozici
> jak stav pred zmenou, tak i stav po zmene a tudiz mohu delat historii v
> pohode na jednom miste.

Historie byla naprosto spatny priklad. Uplatneni triggeru je nasledujici:

BEFORE jsou dobre na zmeny dat na serveru (defaulty, vypocty, apod.) pred
ulozenim a pro dalsi (komplexnejsi) kontroly a eventualni zablokovani
operace vyvolanim vyjimky. BEFORE triggery typicky pracuji s tabulkou, na
kterou jsou napojeny.

AFTER triggery jsou dobre na zapisy do jinych tabulek, napriklad
logovacich, odesilani mailu, notifikaci o zmene a jinych blaznivin, ktere
je treba delat az kdyz je prace udelana.

S pozdravem
Pavel Cisar
Mobil: 0724 281429
http://www.ibphoenix.cz
Vse co potrebujete pro Firebird a InterBase